#ifndef MEMORYFILEFORMAT_H_INCLUDED
#define MEMORYFILEFORMAT_H_INCLUDED

/** include config.h **/
#include "config.h"

#include <string>
#include <string.h>
#include <iostream>
#include <map>

#include "AbstractFileFormat.h"

/**
* Diese Klasse repräsentiert Dateien die in das Cache-Verzeichnis geschrieben werden. Dabei kann jede beliebiges Dateiformat verwendet werden.
**/
class MemoryFileFormat : public AbstractFileFormat{
public:
    MemoryFileFormat(PFSInfo info);
    ~MemoryFileFormat();
    /**
    * Schreibt den Inhalt in den Arbeitsspeicher
    **/
    int write(PFSInfo info);

    /**
    * Holt den Inhalt aus den Arbeitsspeicher.
    **/
    int read(PFSInfo info);

    /**
    * Schließt eine Datei die sich im Cache-Verzeichnis befindet.(Systemaufruf einer Betriebssystem API)
    **/
    int close(PFSInfo info);
};


#endif // MEMORYFILEFORMAT_H_INCLUDED
